Several peer-to-peer network technologies exist mainly in order to provide networks where the sharing of files or distribution of large files or live information is sought improved. The main part of these technologies comprises a central server that keeps track of the connected peers as well as the structure by which they are connected. Many of these systems comprise relatively fixed structures and heavily centralised control in order to enable the server to manage it tasks. In these systems the individual peers have to obtain permission or instructions from the server if they want to relocate themselves in the structure, or otherwise want changes. A few systems occasionally leave certain simple decisions within very restricted scopes to the peers, but if the decisions affect the structure or status of the peers they will still have to inform the server of any changes.
Thus, traditional peer-to-peer systems are typically restricted by inflexibility, centralisation and thereby, at least for the server, huge communication and processing overhead regarding control information.